Lokalizacja oznacza zasadniczo proces dostarczania oprogramowania z wielojęzycznym interfejsem użytkownika. W FreeCAD możesz ustawić język interfejsu użytkownika w Edycja → Preferencje → Ogólnie. FreeCAD używa Qt, aby umożliwić obsługę wielu języków. W systemach Unix/Linux, FreeCAD domyślnie korzysta z bieżących ustawień lokalnych systemu.
Jedną z bardzo ważnych rzeczy, które użytkownicy mogą wnieść do FreeCAD (jeśli na przykład nie posiadają umiejętności programowania) jest pomoc w tłumaczeniu jego różnych elementów (kod źródłowy, Wiki, strona internetowa, dokumentacja itp...) na inny język. Są dostępne następujące sposoby, aby tego dokonać.
FreeCAD korzysta z zewnętrznego systemu tłumaczeń on-line, zwanego Crowdin.
Jest to oprogramowanie własnościowe, ale wolne dla projektów FOSS. Poniżej znajdują się instrukcje jak go używać:
Note: Szczegóły dotyczące używania programu Crowdin można znaleźć na stronie Administracja Crowdin.
Odwiedź stronę Tłumaczenie interfejsu Środowisk zewnętrznych.
Począwszy od FreeCAD w wersji 0.20, następujące zmienne mogą być ręcznie dodane do sekcji BaseApp/Preferences/General pliku user.cfg, aby pomóc w rozwoju nowych tłumaczeń:
AdditionalLanguageDomainEntries - aby dodać zupełnie nowe języki do programu FreeCAD, które nie są obecnie obsługiwane przez kod źródłowy, możesz użyć tej preferencji użytkownika, aby dodać je do listy dostępnych języków. Format języków to "Nazwa języka"="kod"; na przykład:
<FCText Name="AdditionalLanguageDomainEntries">"Esperanto"="eo";"French"="fr";</FCText>
AdditionalTranslationsDirectory - dodaj dodatkowy katalog, w którym FreeCAD będzie szukał plików *.qm. Ta lokalizacja będzie miała pierwszeństwo przed $resourceDir/translations (dla Linux OS) oraz $userAppDataDir/translations (dla Windows). Na przykład:
<FCText Name="AdditionalTranslationsDirectory">C:/Users/FreeCADUser/TestTranslations</FCText>
Wiki zawiera wiele treści, z których większość tworzy podręcznik. Możesz przeglądać dokumentację zaczynając od Strony głównej, lub zajrzeć do podręcznika użytkownika Spis treści pomocy online.
Aby móc tłumaczyć wiki, musisz mieć uprawnienia do edycji wiki; zobacz Jak mogę uzyskać uprawnienia do edycji na wiki?.
Powinieneś również posiadać znajomość znaczników Wiki i stosować się do ogólnych wytycznych dotyczących stylizacji opisanych na witrynie Wiki.
Kiedy Wiki została odłączona od SourceForge, Yorik zainstalował MediaWiki's Translation extension, które ułatwia tłumaczenie stron. Zaletą rozszerzenia tłumaczeń jest to, że tytuł strony może być teraz przetłumaczony, śledzi tłumaczenia, powiadamia, czy oryginalna strona została zaktualizowana, oraz utrzymuje tłumaczenia w synchronizacji z oryginalną stroną angielską.
Narzędzie jest udokumentowane w Pomoc:Rozszerzenia:Tłumaczenie i jest częścią MediaWiki Pakietu rozszerzeń językowych.
Aby szybko rozpocząć przygotowywanie strony do tłumaczenia, proszę przeczytać przykład Tłumaczenie strony. Para znaczników musi zawierać całą stronę aby system tłumaczenia został aktywowany:
<translate> ... </translate>
Strona musi być również oznaczona do tłumaczenia.
Aby zobaczyć przykładowy sposób działania narzędzia do tłumaczenia, odwiedź stronę Strona główna. Na górze pojawi się automatycznie wygenerowany pasek językowy. Kliknij na polski. (polski), doprowadzi cię do Main_Page/pl. Tuż pod tytułem, możesz przeczytać Ta strona jest przetłumaczoną wersją strony głównej, a tłumaczenie jest w XX% kompletne, XX jest bieżącą wartością procentową postępu tłumaczenia. Kliknij na Przetłumacz u góry strony, aby uruchomić narzędzie do aktualizacji, korekty i przeglądania istniejącego tłumaczenia.
Jeśli przejdziesz do Strony głównej, zauważysz, że nie możesz już edytować strony bezpośrednio, przez kliknięcie znacznika [Edit], a górny link Edit został zastąpiony linkiem Translate, który otwiera narzędzie do tłumaczenia.
Przy dodawaniu nowych treści należy najpierw utworzyć stronę w języku angielskim, a następnie przetłumaczyć ją na inny język. Jeśli ktoś chce zmienić lub dodać treść na stronie, najpierw należy zmodyfikować stronę w języku angielskim.
Jeśli nie jesteś pewien, jak postępować z tłumaczeniami, nie wahaj się poprosić o pomoc w Development → Wiki subforum lub w podforum konkretnego języka na forum FreeCAD.
Każdy użytkownik wiki posiadający uprawnienia Edytora jest w stanie uruchomić narzędzie do tłumaczenia oraz tworzyć, zapisywać i przeglądać tłumaczenia.
Jednak tylko użytkownicy z uprawnieniami Administrator mogą oznaczać strony do tłumaczenia. Strona, która nie jest oznaczona do tłumaczenia, nie będzie korzystać z rozszerzenia tłumaczenia i nie będzie prawidłowo zsynchronizowana z informacjami w języku angielskim.
Lewy pasek boczny jest również przetłumaczalny, ale tylko Administratorzy mogą modyfikować ten element strony. Proszę postępować zgodnie z dedykowanymi instrukcjami na stronie Tłumaczenie paska Sidebar.
Przy pierwszym przełączeniu strony do nowego systemu tłumaczeń, traci ona wszystkie swoje stare "ręczne" tłumaczenia. Aby odzyskać tłumaczenie, należy zapisać kopię starego tekstu w trybie offline przed przełączeniem. Następnie możesz użyć tego starego przetłumaczonego tekstu do wypełnienia jednostek tłumaczeń w nowym systemie. Możesz również otworzyć wcześniejszą wersję z historii i w ten sposób odzyskać stary tekst. Musi to być zrobione dla każdego języka, który miał przetłumaczoną stronę.
Zgodnie z ogólnym konsensusem, strona referencyjna w Wiki jest stroną angielską, która powinna być utworzona jako pierwsza. Jeśli chcesz zmienić lub dodać treść do strony, powinieneś zrobić to najpierw na angielskiej stronie, a dopiero po zakończeniu aktualizacji przenieść modyfikację na przetłumaczoną stronę.
Instrukcje te dotyczą wyłącznie tła historycznego. Tłumaczenia powinny używać nowego systemu z #Mediawiki Translation Extension opisanego powyżej. |
Więc pierwszym krokiem jest sprawdzenie czy tłumaczenie ręczne zostało już rozpoczęte dla Twojego języka (spójrz na lewy pasek boczny, pod "manual").
Strona dotycząca porozumienia w sprawie nadawania nazw '"
#REDIRECT [[About_FreeCAD/fr]]
{{docnav/fr|[[Online_Help_Startpage/fr|Bienvenue dans l'aide en ligne de FreeCAD]]|[[Feature_list/fr|Fonctionnalités]]}} Strona Bienvenue dans l'aide en ligne de FreeCAD przekierowuje do Online_Help_Startpage/fr, a strona Fonctionnalités przekierowuje do Feature_list/fr. |
Tłumaczenie strony internetowej FreeCAD odbywa się teraz poprzez Crowdin. Plik nazywa się homepage.po.
Ta sekcja jest przeznaczona dla programistów, którzy chcą dodać lokalizację do swojego kodu.
Są to części wykorzystywane w procesie tłumaczenia FreeCAD:
Wszystkie powyższe kroki są wykonywane przez "skrypty do tłumaczeń", które są okresowo uruchamiane przez administratora.
Przygotowanie modułu do tłumaczenia jest dość proste. Po pierwsze, musisz upewnić się, że posiadasz katalog nazwany translations w myModule/Gui/Resources. Następnie otwórz okno terminala (lub odpowiednik Windows/OSX) w katalogu "translations i wpisz poniższe polecenie:
lupdate -ts myModule.ts
W ten sposób powstaje pusty plik z tłumaczeniem. Po zakończeniu tego procesu należy upewnić się, że skrypty do tłumaczenia są aktualizowane tak, jak w tym przypadku pull request.
Następnie wszystko odbywa się automatycznie, jeśli chodzi o dewelopera. Administrator wyodrębni ciągi tekstowe, tłumacze je przetłumaczą, następnie administrator wyciąga tłumaczenia i aktualizuje FreeCAD/master.
Moduły lub makra osób trzecich są tłumaczone w podobny sposób, z tym że część pracy musisz wykonać samodzielnie. Ta dyskusja na forum opisuje szczegóły.
Aktualizacja: zobacz Tłumaczenie zewnętrznych środowisk pracy
Obecnie opiekunowie FreeCAD używają API Crowdin poprzez skrypty Crowdin do wciągania i przesuwania tłumaczeń do Crowdina i z powrotem do Github repo. API Crowdin daje opiekunom FreeCAD możliwość automatyzacji procesów tłumaczenia w projekcie, więcej informacji można znaleźć w dokumentacji Crowdin API.
Zobacz również: FreeCAD podstawy tworzenia skryptów.
Aby uzyskać słownik z językami obsługiwanymi przez interfejs FreeCAD, użyj metody supportedLocales
modułu FreeCADGui
.
locales = FreeCADGui.supportedLocales()
Po wykonaniu, locales
będzie zawierał:
{'English': 'en', 'Afrikaans': 'af', 'Arabic': 'ar', 'Basque': 'eu', 'Catalan': 'ca', 'Chinese Simplified': 'zh-CN', 'Chinese Traditional': 'zh-TW', 'Croatian': 'hr', 'Czech': 'cs', 'Dutch': 'nl', 'Filipino': 'fil', 'Finnish': 'fi', 'French': 'fr', 'Galician': 'gl', 'German': 'de', 'Hungarian': 'hu', 'Indonesian': 'id', 'Italian': 'it', 'Japanese': 'ja', 'Kabyle': 'kab', 'Korean': 'ko', 'Lithuanian': 'lt', 'Norwegian': 'no', 'Polish': 'pl', 'Portuguese': 'pt-PT', 'Portuguese, Brazilian': 'pt-BR', 'Romanian': 'ro', 'Russian': 'ru', 'Slovak': 'sk', 'Slovenian': 'sl', 'Spanish': 'es-ES', 'Swedish': 'sv-SE', 'Turkish': 'tr', 'Ukrainian': 'uk', 'Valencian': 'val-ES', 'Vietnamese': 'vi'}
Aby uzyskać aktualny język interfejsu użyj metody getLocale
z tego samego modułu:
locale = FreeCADGui.getLocale()
Jeśli aktualnym językiem jest angielski, locale
będzie zawierać:
'English'
Aby uzyskać odpowiedni kod języka można użyć:
locale = FreeCADGui.supportedLocales()[Gui.getLocale()]
Jeśli aktualnym językiem jest angielski, wynik będzie następujący:
'en'
Aby ustawić aktualny język interfejsu należy użyć metody setLocale
tego samego modułu. Możesz podać język lub kod języka:
FreeCADGui.setLocale('Russian')
FreeCADGui.setLocale('ru')